﻿Public Class Vacunaciones
    Inherits System.Web.UI.Page
    Protected WithEvents cabeceraMaster As Cabecera

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim ImagFondo As Image = Page.Master.FindControl("ImagFondoCabecera")


        'Dim paginaActual As String
        'Var_Globales.paginaActual = "~/Vacunaciones.aspx"
        If Not Page.IsPostBack Then
            limpiarControles()
            FG.culturaPaginas()


            'acomodo la image de fondo
            ImagFondo.Height = 300
        End If


    End Sub

    Private Sub limpiarControles()
        P_avisoPedidoDecaptura.Visible = False
        txtApellidoPaciente.Text = ""
        txtDNIpaciente.Text = ""
        txtFechaHora.Text = ""
        txtNombrePaciente.Text = ""
        txtPuesto.Text = ""
        lblError.Text = ""
        FG.CargaCombo("traerVacunas", cboVacunas)

        If cboVacunas.Items.Count = 0 Then
            btnGuardar.Enabled = False
        Else
            btnGuardar.Enabled = True
        End If

        gv_vacunas.DataSource = Nothing
        gv_vacunas.DataBind()
    End Sub

    Private Sub realizaBusqueda(ByVal DNI As String)

        Dim persona As New Persona
        Dim param(0) As ADODB.Parameter
        Dim Rs As ADODB.Recordset

        param(0) = New ADODB.Parameter
        param(0).Name = "@DNI"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = DNI
        param(0).Size = 10

        Rs = Datos.TraerTodos("traerDNI_NomyApPersona", param, "Vacunaciones.aspx")

        If Rs.RecordCount > 0 Then
            txtFechaHora.Text = Now.ToString
            txtDNIpaciente.Text = Rs.Fields(0).Value.ToString
            txtNombrePaciente.Text = Rs.Fields(1).Value.ToString
            txtApellidoPaciente.Text = Rs.Fields(2).Value.ToString
            txtPuesto.Text = PersLOgueada.Dev_INstitucionDeTrabajo
            persona.SetaDatosXDn(txtDNI.Text)
            If persona.Dev_PedidoCaptura = True Then
                Me.P_avisoPedidoDecaptura.Visible = True
            Else : Me.P_avisoPedidoDecaptura.Visible = False
            End If
            persona.SetaDatosXDn(txtDNI.Text)

        End If

        Rs = Nothing

    End Sub

    Private Sub realizaBusqueda_DataGrid(ByVal DNI As String)
        Dim per As New Persona


        FG.SacaCartelDeAViso(LblMsjeAbuscar)

        If DNI = "Búsqueda DNI" Or DNI = "" Then
            FG.MuestraCartel("Falta ingresar dni", LblMsjeAbuscar)
            Exit Sub

        End If


        per.SetaDatosXDn(DNI)

        If per.Dev_ExistePersona = False Then
            FG.MuestraCartel("el dni no existe", LblMsjeAbuscar)
            Exit Sub
        End If

        If per.Dev_EstaMurido = True Then
            FG.MuestraCartel("La persona esta fallecida", LblMsjeAbuscar)
            Exit Sub
        End If


        Dim param(0) As ADODB.Parameter
        Dim Rs As ADODB.Recordset

        param(0) = New ADODB.Parameter
        param(0).Name = "@DNI"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = DNI
        param(0).Size = 10

        Rs = Datos.TraerTodos("TraeINfoDeVAcunasParaHCxDni", param, "Vacunaciones.aspx")

        gv_vacunas.DataSource = FG.cargaUnDataTable(Rs)
        gv_vacunas.DataBind()


    End Sub

    Protected Sub btnBuscar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnBuscar.Click


                'Hay que ver que esto se tiene que conectar con los mapas también según dónde esté
        'La institución ubicada!!!!


        '==============================================
        'Prueba charts!!!
        '==============================================
        limpiarControles()

        realizaBusqueda(txtDNI.Text)
        realizaBusqueda_DataGrid(txtDNI.Text)
        FG.CargaCombo("TraeVacunasPendientesDeunaPersonaXdni", cboVacunas, txtDNI.Text)

        If cboVacunas.Items.Count = 0 Then
            cboVacunas.Items.Add("Ninguna Vacuna")
            btnGuardar.Enabled = False
        Else
            btnGuardar.Enabled = True
        End If

        'Si no encuentra al tipo mostrar mensaje de que no existe, si desea darlo de alta e ir a la pantalla de alta
        'Tener en cuenta que cuando vuelva va a tener que almacenar por algún lado el DNI!!!! Esto vale para cualq alta
        'fuera de la propia pág de altas!!!!!!!!!!!!



    End Sub


    Protected Sub btnGuardar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnGuardar.Click
        Dim i As Integer = 6
        Dim param(i - 1) As ADODB.Parameter

        FG.SacaCartelDeAViso(lblError)

        If cboVacunas.Text = "" Or cboVacunas.Text = "Ninguna Vacuna" Then
            FG.MuestraCartel("El paciente no tiene vacunas pendientes", lblError)
            Exit Sub
        End If
        'Dim Rs As ADODB.Recordset

        '@dni_persona varchar(20), 
        '@dni_profesional varchar(20),
        '@institucionMedica varchar(20),
        '@PerfilUsuario varchar(20),
        '@Motivo varchar(max),
        '@vacuna varchar(20)

        cabeceraMaster = Master

        param(0) = New ADODB.Parameter
        param(0).Name = "@dni_persona"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = txtDNI.Text
        param(0).Size = 20

        param(1) = New ADODB.Parameter
        param(1).Name = "@dni_profesional"
        param(1).Type = ADODB.DataTypeEnum.adVarChar
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(1).Value = PersLOgueada.Dev_Dni
        param(1).Size = 20

        param(2) = New ADODB.Parameter
        param(2).Name = "@institucionMedica"
        param(2).Type = ADODB.DataTypeEnum.adVarChar
        param(2).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(2).Value = PersLOgueada.Dev_INstitucionDeTrabajo
        param(2).Size = 20

        param(3) = New ADODB.Parameter
        param(3).Name = "@PerfilUsuario"
        param(3).Type = ADODB.DataTypeEnum.adVarChar
        param(3).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(3).Value = cabeceraMaster.ComboPerfiles.Text
        param(3).Size = 20

        param(4) = New ADODB.Parameter
        param(4).Name = "@Motivo"
        param(4).Type = ADODB.DataTypeEnum.adVarChar
        param(4).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(4).Value = "Vacuna administrada"
        param(4).Size = 255

        param(5) = New ADODB.Parameter
        param(5).Name = "@vacuna"
        param(5).Type = ADODB.DataTypeEnum.adVarChar
        param(5).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(5).Value = cboVacunas.Text
        param(5).Size = 20


        If Datos.Agregar("cargarCabeceraHC_detallehc_Vacunas", param, "Carga cabecera HC Detalle Vacunacion") Then
            limpiarControles()
        Else
            FG.MuestraCartel("Error, no se pudo guardar el registro. Revise el log de errores", lblError)
        End If


    End Sub

    Protected Sub btnCancelar_Click(sender As Object, e As EventArgs) Handles btnCancelar.Click
        limpiarControles()
    End Sub


    Private Sub gv_vacunas_PageIndexChanging(sender As Object, e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gv_vacunas.PageIndexChanging
        gv_vacunas.PageIndex = e.NewPageIndex
        realizaBusqueda_DataGrid(txtDNI.Text)
    End Sub

    Protected Sub btnConforme_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnConforme.Click


        mdp_Huella.Show()







    End Sub

   
    
    Protected Sub txtNombrePaciente_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles txtNombrePaciente.TextChanged

    End Sub

    Protected Sub btnok_paciente_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnok_paciente.Click
        Dim aux As String
        FG.SacaCartelDeAViso(LblMsjeAbuscar)

        aux = Lector.IdentificaPersonas_DevuelveDNI


        If aux = "" Then
            FG.MuestraCartel("la huella no pudo ser identificada", LblMsjeAbuscar)
            Exit Sub
        End If

        mdp_Huella.Hide()

        realizaBusqueda_DataGrid(aux)



    End Sub
End Class
